package com.time.thread.suspend;

/**
 * @program: tes   没理解              ctrl+k ---commit difference
 * @description:
 * @author: xuejingjing
 * @create: 2021-10-21 08:50
 *
 **/
// TODO: 2021/10/21  模拟多线程的时候，是想象成一个cpu切换多个线程还是多个线程分别直接自己的部分？
public class Main {
    public static void main(String[] args) {


        try {
            SuspendThread suspendThread = new SuspendThread();
            suspendThread.start();
            // TODO: 2021/10/21 这个意思是让主线程睡5s吧？
            Thread.sleep(5000);

            //A段
            suspendThread.suspend();
            // TODO: 2021/10/21  总毫秒数  从1970年1月1日开始计算
            System.out.println("A="+ System.currentTimeMillis() +"i="+suspendThread.getI());
            Thread.sleep(5000);
            System.out.println("A="+ System.currentTimeMillis() +"i="+suspendThread.getI());


            //B段
            suspendThread.resume();
            Thread.sleep(5000);

            //C段
            suspendThread.suspend();
            System.out.println("B="+System.currentTimeMillis()+"i="+suspendThread.getI());

            Thread.sleep(5000);
            System.out.println("B="+System.currentTimeMillis()+"i="+suspendThread.getI());


        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
